核心模块

    • RPC endpoint:Drill 提供了一个与客户端交互的,低消耗的基于 ProtoBuf 的 RPC 协议。此外,也提供了 C++,Java API 层用于与客户端进行交互。在提交查询之前,客户端可以与一个指定的 Drillbit 直接或者通过一个 ZooKeeper 集群去发现一个可用的 Drillbit 服务。建议客户端使用 ZooKeeper 去管理集群的复杂性,例如添加或移除节点。

    • 存储插件接口:Drill 在数据源的顶层提供一个查询层。存储插件在 Drill 中使用一个抽象层来与数据源做交互。存储插件提供以下信息:

      • 用于读取和写入数据源的接口

    当用户在 Drill 中查询文件和 HBase时,如果存在元数据定义,它们可以直接去处理或者通过 Hive 去处理。Drill 与 Hive 集成的仅仅是元数据。它的任何请求都不会调用 Hive 的执行引擎。